/* 
路由器对象
*/
import Vue from 'vue'
import VueRouter from 'vue-router'

const Home = () => import('@/views/Home')
const Login = () => import('@/views/Login')

// 安装插件
Vue.use(VueRouter)

// 创建路由器对象
const router = new VueRouter({
  // 路由表
  routes: [
    // 路由 path component
    {
      name: 'Login', 
      path: '/login', 
      component: Login,
    },
    {
      name: 'Home',
      path: '/home', 
      component: Home,
      beforeEnter: (to, from, next) => {
        console.log('路由独享 beforeEnter')
        next() // 放行
      }
    },
    {
      name: 'Home2',
      path: '/home2', 
      component: Home,
    },
  ]
})

// 全局前置钩子
router.beforeEach((to, from, next) => {
  console.log('全局 beforeEach...', to, from)
  // 不调用, 不放行, 看不到目标路由界面
  // 放行, 能看到目标路由界面
  next()
  // if (Date.now()%2===1) {
  //   // 强制跳转到指定路由
  //   next('/login')
  // } else {
  //   next()
  // }
  
})

// 全局解析钩子
router.beforeResolve ((to, from, next) => {
  console.log('全局 beforeResolve')
  next()
})

// 全局后置钩子
router.afterEach((to, from) => {
  console.log('全局 afterEach')
})

// 暴露路由器
export default router
